1. Field of Use
This invention relates generally to the creation and maintenance; i.e., management, of frame-based, hierarchically organized databases, as for example, those used for providing interactive product data to prospective purchasers; and more particularly, to a method preferably implemented in computer software for the creation and maintenance; i.e., management, of frame-based, hierarchically organized databases containing product data with the use of tabularly organized product data, the method featuring steps for displaying tabularly organized data and, when available, a hierarchical data organizational structure to the software user who compares the organization of the tabular data and data values to a desired or available frame-based, hierarchical database organizational structure and, thereafter, enters information to facilitate creation or, when available, maintenance of the frame-based, hierarchical database structure and infusion of the tabular data into the database; further, in the case where the frame-based, hierarchical data organizational structure can be inferred from the tabular data, the method includes steps for automatically merging the tabular product data into the hierarchical database without user intervention; and still further, this method, where the frame based hierarchical data organizational structure can be inferred from the tabular data, is implemented in a computer software program using the JAVA computer programming language.
2. Related Art
Continuing advances in personal computing and the explosive growth of the Internet and its World Wide Web, have combined to produce tremendous opportunity for buying and selling just about any kind of product or service, from just about anyplace in the world where an Internet connection can be made. Generally referred to as xe2x80x9cElectronic Commercexe2x80x9d or xe2x80x9cE-Commercexe2x80x9d for short, this new frontier is revolutionizing the way people for centuries have bought and sold things. With E-Commerce, instead of prospective purchasers; i.e., shoppers, having physically to go out to actual stores, malls or other points of distribution to search for the things desired, they, instead, can simply fire up their respective personal computers, access the Internet""s World Wide Web and browse cyberspace for virtual points of sale at which everything from Automobiles to Zoot Suits can be foundxe2x80x94a true cornucopia of whatever there is to be hadxe2x80x94anywhere. Gone too, generally, are the problems of commuting, crowds, long lines and empty shelves. Instead, if the items sought can be downloaded; e.g., information, books, software, music, videos, and the like, they can be immediately had on payment of the required purchase price. Or, if the thing desired is tangible; e.g., from fruit baskets to refrigerators, it can be ordered for delivery from the manufacturer or distributor.
However, while this advance in commercial enterprise, provides a plethora of shopping possibilities, it also presents a number of new and perplexing problems. One that is particularly difficult is the problem of providing systems for browsing and effectively presenting the many and varied things that can be found and purchased in cyberspace.
As those familiar with the technology are aware, Web site sales facility are commonly fashioned around some form of computer-based catalog, which is itself built upon a product database containing records concerning the items being offered. And, as will be appreciated by those skilled in the art, though the term xe2x80x9cproductxe2x80x9d is used here and elsewhere in this disclosure, the term should be understood to include both goods and services, and indeed, anything that might be offered for sale.
In that regard, workers have found that the ability to satisfy a shoppers search expectations are dependent upon how the product data is organized; i.e., what type of product data is included, how much of it is present and how quickly it can be reviewed. As many Web shoppers have regrettably found, at some sites, they may have to plow through mounds of product information to find, if at all, the item they""re looking for, and that can be a toilsome and perplexing task. Additionally, the job can be made yet the more frustrating where one is unsure of exactly what one is looking for, and as a result be unable to successfully navigate through the information provided to find the kind of thing desired, or be unable to effectively compare what is found with alternatives when something of interest is located to assure that what has been found would be a wise choice.
More specifically, experience has shown that where a product database is structured in relational form, i.e., tabularly, with rows of product names associated with columns of product features, or vice versa, shoppers can encounter difficulty. While it is common to find product databases organized in relational form; relational form being favored by manufactures and providers for its simplicity, and favored by distributors and suppliers for the abundance and typically low cost of relation database software, shoppers, on the other hand, unfortunately, find relational databases difficult and frustrating to select products from. In relational form, and as noted, the product data is tabularly arranged. Typically, product names, model numbers or other form of designators are disposed, in rows as record identifiers, followed by columns of product features; i.e., product attributes, which define the product, or vice versa, i.e., columns of product names and rows of attributes. As will be appreciated, to access a product record, commonly, either the user has to designate a product name, model number, or enter a descriptive, product-feature word strings to locate the product desired. However, such record access procedures are difficult for shoppers who don""t know what model names or numbers to ask for, or who don""t understand what features will be appropriate to put in a string search, or indeed, who don""t really know what they are exactly looking for, And, as might be expected, this problem becomes even more difficult where the shopper spectrum includes individuals having different levels of product awareness, and diverse ages, educational, and community backgrounds. As will be appreciated, the less sophisticated the shoppers, the more difficult it is for them to appreciate the search process, understand product jargon, and discriminate between product features.
As an alternative to relational databases, however, it has been found that even shoppers having different product familiarity and backgrounds are commonly able to easily and quickly extract desired product information from database that are hierarchically arranged and presented. As an illustration, where a shopper is looking for specialty apples; for example, from a gourmet site, he can more readily make progress with his selection if he looks first at foods, then fruits, and then apples as he progress to his selection. At the least, the approach of moving from generally understood category to subcategory and sub-subcategory avoids the risk of causing the uninitiated shopper to mistakenly compare apples and oranges when trying to make his purchase selection.
However, because, product data as noted, is usually found in relational rather than hierarchical form, difficult can be encountered in economically building and maintaining hierarchically organized product databases. Where hierarchical product data is limited, labor-intensive, and accordingly, expensive efforts may have to be undertaken to develop sufficient hierarchical product data to create and maintain the site database in hierarchical form. Again as noted, manufacturers, the primary source of product data, prefer relational; i.e., tabular, data format because of its simplicity. Additionally, manufactures may not be able to anticipate, or indeed, not care how there products will be hierarchically arranged for purposes of comparison. Further, in other cases, manufacturers may wish to frustrate hierarchical comparison so their products will have a better chance of selling than they might otherwise have if prospective purchasers were able to easily and quickly categorize alternative choice.
Additionally, and as a further problem, hierarchical product organizations tend to be specific to the sales application they are used with. As a result, the hierarchical product data may have to be specifically tailored to the particular application it is intended for. Accordingly, depending on the nature and intent of a hierarchical product database, it may not be possible to easily and repeatably incorporate tabular; i.e., relational data, into the hierarchical database organization.
While some workers in the field of database design have suggested methods for xe2x80x9ccouplingxe2x80x9d relational and hierarchical databases so that queries put to the hierarchical database may be transferred through for processing at the relational database, and information derived from the query transferred back to the hierarchical database, thus avoiding or at last reducing the need for hierarchically organized product data, the suggestion of maintaining two forms of database in a single system is cumbersome and difficult to manage and operate. For example, in U.S. Pat. 4,930,071 issued May 20, 1990, Tou et al. disclose a method for mapping between a relational database and a knowledge database of an xe2x80x9cexpert systemxe2x80x9d organized in hierarchical form. In this arrangement, queries put to the knowledge database can be mapped through to the relation database where the query can be processed and inferences derived returned to the knowledge database where the query results can be mapped into the knowledge database for subsequent use. However, as shown in FIGS. 1, 10-18, of the Tou et al. patent and as described in the accompanying specification, the system requires extensive translation and mapping functions to pass queries to the relation database and back to the hierarchical knowledge database where they can be subsequently used in formulating subsequent responses to the queries. As a result, the Tou et al. proposed system would not be commercially attractive for use with the personal computers and server systems commonly found on the World Wide Web of the Internet.
Accordingly, it is an object of the present invention to provide a method for generating and maintaining; i.e., managing, a frame-based, hierarchical organizational structure used in creating and maintaining a, frame-based, hierarchical product database.
Additionally, it is an object of the present invention to provide a method for generating and maintaining frame-based, hierarchical product data used in creating and maintaining the frame-based, hierarchical product database.
Yet further, it is an object of the present invention to provide a method for generating and maintaining the frame-based, hierarchical database organizational structure from tabularly arranged product data.
Still further, it is an object of the present invention to provide a method for generating and maintaining the frame-based, hierarchical product data from tabularly arranged product data.
Additionally, it is an object of the present invention to provide a method for generating and maintaining the frame-based, hierarchical database from tabularly arranged product data which is simple and easy to use.
Still additionally, it is an object of the present invention to provide a method for generating and maintaining the frame-based, hierarchical database which a user can interactively control.
Yet additionally, it is also an object of the present invention to provide a method for generating and maintaining the frame-based, hierarchical database from tabularly arranged product data, that can be automatically carried out where the tabular data includes adequate frame-based, hierarchical information.
Still further, it is an object of the present invention to provide implementations of the invention as computer software programs for generating frame-based, hierarchical databases from tabular arranged product data conforming to generic relational database formats.
Briefly, to achieve the above and other objects and advantages, the method of the present invention includes steps for creating and or modifying; i.e., managing, the organizational structure and data content of a frame-based, hierarchical product database with the use of tabularly arranged product data. More specifically, the method features steps for enabling determination of a hierarchical database organizational structure capable of accommodating importation of tabular product data. Additionally, the method features for facilitating either modification, i.e., change of, an existing frame-based, hierarchical database organizational structure where the database already exists, to enable, where required, reorganization of the database structure and importation of the new, tabular data so as to maintain the database; or, creation of a new frame-based, hierarchical organizational structure suitable for receiving the tabular data by either generating an entirely new, original structure where none is available; i.e., exists, or modifying a suitable organizational structure of a database which exists, but which is not to be maintained.
In a first preferred form, the method is implemented in computer software and features program steps for enabling a database administrator, or the like, to determine what frame-based, hierarchical organizational structure would be needed to enable importation of tabular product data, the term xe2x80x9cproductxe2x80x9d embracing both goods and or services. More particularly, the method features steps for displaying to the database administrator the tabularly organized product data, and, where available, the organizational structure of an existing frame-based, hierarchical database. Additionally, the method features steps for enabling the administrator to interactively browse and analyze the displayed tabular product data, and compare the tabular data with the organizational structure of, frame-based, hierarchical database, where a frame-based, hierarchical database is available, i.e., already exists.
In the case where a database having frame-based, hierarchical, organizational structure is available and is to be maintained, the method features software steps for enabling the administrator to identify modifications to the organizational structure in the form of changes to the frame attributes, attribute values, frames and frame levels necessary to accommodate importation of the tabular data to the database. Thereafter, if required, the existing frame-based, hierarchical data can be reorganized in accordance with the modified database structure, and the new, tabular data imported for inclusion therewith so as to maintain the database.
On the other hand, where a new database having a frame-based hierarchical organizational structure is to be created, the method further features steps for enabling the administrator to originally create an organizational structure including, frame-based, hierarchical levels; i.e., levels having parent-child relationships such as category-subcategory, and one or more frames associated by those relationships within each level, the frames including product attributes and product attribute values; i.e., features and feature values, for defining and distinguishing one type of product from another. Further, in the case where a new organizational structure is to be created, but, where a suitable organizational structure is available from a database which is not to be maintained, that structure may be used as the basis for the new structure, and suitably modifications made in the fashion noted to achieve the structure to be created.
Yet additionally, the method includes software steps for subsequently promoting frame attributes to the highest common level in the hierarchy. Further, in preferred form, the method, still further, includes steps for mapping the tabular product attributes to the hierarchical organizational structure product frame attributes, and steps for designating a tabular attribute as a tabular record identifier, and mapping of the imported tabular product data to the hierarchical product database once the modified hierarchical, organization has been defined. And, following creation of the structure, the method features steps for merging the tabular data to the frame-based hierarchical structure created to form the database.
In a second preferred form, the method features software steps for automatically generating the required frame-based, hierarchical organizational structure where the tabular data includes the product record category and subcategory information necessary to define the organizational structure required to accommodate importation of the tabular data and names for frame that avoid naming ambiguities in the hierarchical organizational structure. Further, the method includes software steps for automatically associating the tabular product record information at the lowest level of the frame-based, organizational structure generated. Yet additionally, the method includes steps for automatically promoting record attributes to the highest common level in the frame-based hierarchy. Further, the second preferred form of the invention is implemented in a computer software program using the JAVA computer programming language.